package com.itheima.paymentdemo.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.HashMap;
import java.util.Map;

/**
 * 功能：vo文件夹的全称为 Value Object值对象
 * 作者：大风
 * 日期：2024/9/14 10:57
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Accessors(chain = true) //让R类型对象能够进行链式操作
public class R {
    private Integer code; //响应码
    private String message; //响应消息
    private Map<String,Object> data = new HashMap<>(); //返回值

    public static R ok(){
        R r = new R();
        r.setCode(0);
        r.setMessage("成功");
        return r;
    }

    public static R error(){
        R r = new R();
        r.setCode(-1);
        r.setMessage("失败");
        return r;
    }

    public R data(String key,Object value){
        this.data.put(key,value);
        return this;
    }
}
